/*******************************************************************************

Copyright (c) 2016-2017, Highsoft

Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
"Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to
the following conditions:

The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

******************************************************************************/

highed.mapCollection = {
  Regions: {
    Africa: 'custom/africa.js',
    Antarctica: 'custom/antarctica.js',
    Asia: 'custom/asia.js',
    Benelux: 'custom/benelux.js',
    'British Isles': 'custom/british-isles.js',
    'British Isles, admin1': 'custom/british-isles-all.js',
    'Canada and United States of America': 'custom/usa-and-canada.js',
    'Central America': 'custom/central-america.js',
    Europe: 'custom/europe.js',
    'European Union': 'custom/european-union.js',
    'Middle East': 'custom/middle-east.js',
    'Nordic Countries without Greenland, Svalbard, and Jan Mayen':
      'custom/nordic-countries-core.js',
    'Nordic Countries': 'custom/nordic-countries.js',
    'North America without central': 'custom/north-america-no-central.js',
    'North America': 'custom/north-america.js',
    'North Atlantic Treaty Organization': 'custom/nato.js',
    Oceania: 'custom/oceania.js',
    Scandinavia: 'custom/scandinavia.js',
    'South America': 'custom/south-america.js',
    'World continents': 'custom/world-continents.js',
    'World with Palestine areas, high resolution':
      'custom/world-palestine-highres.js',
    'World with Palestine areas, low resolution':
      'custom/world-palestine-lowres.js',
    'World with Palestine areas, medium resolution':
      'custom/world-palestine.js',
    'World, Eckert III projection, high resolution':
      'custom/world-eckert3-highres.js',
    'World, Eckert III projection, low resolution':
      'custom/world-eckert3-lowres.js',
    'World, Eckert III projection, medium resolution':
      'custom/world-eckert3.js',
    'World, Miller projection, high resolution': 'custom/world-highres.js',
    'World, Miller projection, low resolution': 'custom/world-lowres.js',
    'World, Miller projection, medium resolution': 'custom/world.js',
    'World, Miller projection, ultra high resolution':
      'custom/world-highres3.js',
    'World, Miller projection, very high resolution':
      'custom/world-highres2.js',
    'World, Robinson projection, high resolution':
      'custom/world-robinson-highres.js',
    'World, Robinson projection, low resolution':
      'custom/world-robinson-lowres.js',
    'World, Robinson projection, medium resolution': 'custom/world-robinson.js'
  },
  Countries: {
    Afghanistan: 'countries/af/af-all.js',
    Albania: 'countries/al/al-all.js',
    Algeria: 'countries/dz/dz-all.js',
    'American Samoa': 'countries/as/as-all.js',
    Andorra: 'countries/ad/ad-all.js',
    Angola: 'countries/ao/ao-all.js',
    'Antigua and Barbuda': 'countries/ag/ag-all.js',
    Argentina: 'countries/ar/ar-all.js',
    Armenia: 'countries/am/am-all.js',
    Australia: 'countries/au/au-all.js',
    Austria: 'countries/at/at-all.js',
    Azerbaijan: 'countries/az/az-all.js',
    Bahrain: 'countries/bh/bh-all.js',
    Bangladesh: 'countries/bd/bd-all.js',
    Barbados: 'countries/bb/bb-all.js',
    Belarus: 'countries/by/by-all.js',
    Belgium: 'countries/be/be-all.js',
    Belize: 'countries/bz/bz-all.js',
    Benin: 'countries/bj/bj-all.js',
    Bhutan: 'countries/bt/bt-all.js',
    Bolivia: 'countries/bo/bo-all.js',
    'Bosnia and Herzegovina': 'countries/ba/ba-all.js',
    Botswana: 'countries/bw/bw-all.js',
    Brazil: 'countries/br/br-all.js',
    Brunei: 'countries/bn/bn-all.js',
    Bulgaria: 'countries/bg/bg-all.js',
    'Burkina Faso': 'countries/bf/bf-all.js',
    Burundi: 'countries/bi/bi-all.js',
    Cambodia: 'countries/kh/kh-all.js',
    Cameroon: 'countries/cm/cm-all.js',
    Canada: 'countries/ca/ca-all.js',
    'Canada, admin2': 'countries/ca/ca-all-all.js',
    'Cape Verde': 'countries/cv/cv-all.js',
    'Central African Republic': 'countries/cf/cf-all.js',
    Chad: 'countries/td/td-all.js',
    Chile: 'countries/cl/cl-all.js',
    'China with Hong Kong and Macau': 'countries/cn/custom/cn-all-sar.js',
    'China with Hong Kong, Macau, and Taiwan':
      'countries/cn/custom/cn-all-sar-taiwan.js',
    China: 'countries/cn/cn-all.js',
    Colombia: 'countries/co/co-all.js',
    Comoros: 'countries/km/km-all.js',
    'Cook Islands': 'countries/ck/ck-all.js',
    'Costa Rica': 'countries/cr/cr-all.js',
    Croatia: 'countries/hr/hr-all.js',
    Cuba: 'countries/cu/cu-all.js',
    Cyprus: 'countries/cy/cy-all.js',
    'Czech Republic': 'countries/cz/cz-all.js',
    'Democratic Republic of the Congo': 'countries/cd/cd-all.js',
    Denmark: 'countries/dk/dk-all.js',
    Djibouti: 'countries/dj/dj-all.js',
    Dominica: 'countries/dm/dm-all.js',
    'Dominican Republic': 'countries/do/do-all.js',
    'East Timor': 'countries/tl/tl-all.js',
    Ecuador: 'countries/ec/ec-all.js',
    Egypt: 'countries/eg/eg-all.js',
    'El Salvador': 'countries/sv/sv-all.js',
    'Equatorial Guinea': 'countries/gq/gq-all.js',
    Eritrea: 'countries/er/er-all.js',
    Estonia: 'countries/ee/ee-all.js',
    Ethiopia: 'countries/et/et-all.js',
    'Faroe Islands': 'countries/fo/fo-all.js',
    Fiji: 'countries/fj/fj-all.js',
    Finland: 'countries/fi/fi-all.js',
    France: 'countries/fr/fr-all.js',
    'France, admin2': 'countries/fr/fr-all-all.js',
    'France, mainland admin2': 'countries/fr/custom/fr-all-all-mainland.js',
    'France, mainland': 'countries/fr/custom/fr-all-mainland.js',
    'French Southern and Antarctic Lands': 'countries/tf/tf-all.js',
    Gabon: 'countries/ga/ga-all.js',
    Gambia: 'countries/gm/gm-all.js',
    Georgia: 'countries/ge/ge-all.js',
    Germany: 'countries/de/de-all.js',
    'Germany, admin2': 'countries/de/de-all-all.js',
    Ghana: 'countries/gh/gh-all.js',
    Greece: 'countries/gr/gr-all.js',
    Greenland: 'countries/gl/gl-all.js',
    Grenada: 'countries/gd/gd-all.js',
    Guam: 'countries/gu/gu-all.js',
    Guatemala: 'countries/gt/gt-all.js',
    'Guinea Bissau': 'countries/gw/gw-all.js',
    Guinea: 'countries/gn/gn-all.js',
    Guyana: 'countries/gy/gy-all.js',
    Haiti: 'countries/ht/ht-all.js',
    Honduras: 'countries/hn/hn-all.js',
    Hungary: 'countries/hu/hu-all.js',
    Iceland: 'countries/is/is-all.js',
    'India with Andaman and Nicobar':
      'countries/in/custom/in-all-andaman-and-nicobar.js',
    'India with disputed territories': 'countries/in/custom/in-all-disputed.js',
    India: 'countries/in/in-all.js',
    Indonesia: 'countries/id/id-all.js',
    Iran: 'countries/ir/ir-all.js',
    Iraq: 'countries/iq/iq-all.js',
    Ireland: 'countries/ie/ie-all.js',
    Israel: 'countries/il/il-all.js',
    Italy: 'countries/it/it-all.js',
    'Ivory Coast': 'countries/ci/ci-all.js',
    Jamaica: 'countries/jm/jm-all.js',
    Japan: 'countries/jp/jp-all.js',
    Jordan: 'countries/jo/jo-all.js',
    Kazakhstan: 'countries/kz/kz-all.js',
    Kenya: 'countries/ke/ke-all.js',
    Kosovo: 'countries/kv/kv-all.js',
    Kuwait: 'countries/kw/kw-all.js',
    Kyrgyzstan: 'countries/kg/kg-all.js',
    Laos: 'countries/la/la-all.js',
    Latvia: 'countries/lv/lv-all.js',
    Lebanon: 'countries/lb/lb-all.js',
    Lesotho: 'countries/ls/ls-all.js',
    Liberia: 'countries/lr/lr-all.js',
    Libya: 'countries/ly/ly-all.js',
    Liechtenstein: 'countries/li/li-all.js',
    Lithuania: 'countries/lt/lt-all.js',
    Luxembourg: 'countries/lu/lu-all.js',
    Macedonia: 'countries/mk/mk-all.js',
    Madagascar: 'countries/mg/mg-all.js',
    Malawi: 'countries/mw/mw-all.js',
    Malaysia: 'countries/my/my-all.js',
    Mali: 'countries/ml/ml-all.js',
    Malta: 'countries/mt/mt-all.js',
    Mauritania: 'countries/mr/mr-all.js',
    Mauritius: 'countries/mu/mu-all.js',
    Mexico: 'countries/mx/mx-all.js',
    Moldova: 'countries/md/md-all.js',
    Monaco: 'countries/mc/mc-all.js',
    Mongolia: 'countries/mn/mn-all.js',
    Montenegro: 'countries/me/me-all.js',
    Morocco: 'countries/ma/ma-all.js',
    Mozambique: 'countries/mz/mz-all.js',
    Myanmar: 'countries/mm/mm-all.js',
    Namibia: 'countries/na/na-all.js',
    Nauru: 'countries/nr/nr-all.js',
    Nepal: 'countries/np/np-all.js',
    'New Caledonia': 'countries/nc/nc-all.js',
    'New Zealand': 'countries/nz/nz-all.js',
    Nicaragua: 'countries/ni/ni-all.js',
    Niger: 'countries/ne/ne-all.js',
    Nigeria: 'countries/ng/ng-all.js',
    'North Korea': 'countries/kp/kp-all.js',
    'Northern Mariana Islands': 'countries/mp/mp-all.js',
    'Norway with Svalbard and Jan Mayen':
      'countries/no/custom/no-all-svalbard-and-jan-mayen.js',
    Norway: 'countries/no/no-all.js',
    'Norway, admin2': 'countries/no/no-all-all.js',
    Oman: 'countries/om/om-all.js',
    Pakistan: 'countries/pk/pk-all.js',
    Palau: 'countries/pw/pw-all.js',
    Panama: 'countries/pa/pa-all.js',
    'Papua New Guinea': 'countries/pg/pg-all.js',
    Paraguay: 'countries/py/py-all.js',
    Peru: 'countries/pe/pe-all.js',
    Philippines: 'countries/ph/ph-all.js',
    Poland: 'countries/pl/pl-all.js',
    Portugal: 'countries/pt/pt-all.js',
    'Puerto Rico': 'countries/pr/pr-all.js',
    Qatar: 'countries/qa/qa-all.js',
    'Republic of Serbia': 'countries/rs/rs-all.js',
    'Republic of the Congo': 'countries/cg/cg-all.js',
    Romania: 'countries/ro/ro-all.js',
    'Russia with disputed territories':
      'countries/ru/custom/ru-all-disputed.js',
    Russia: 'countries/ru/ru-all.js',
    Rwanda: 'countries/rw/rw-all.js',
    'Saint Kitts and Nevis': 'countries/kn/kn-all.js',
    'Saint Lucia': 'countries/lc/lc-all.js',
    'Saint Vincent and the Grenadines': 'countries/vc/vc-all.js',
    Samoa: 'countries/ws/ws-all.js',
    'San Marino': 'countries/sm/sm-all.js',
    'Sao Tome and Principe': 'countries/st/st-all.js',
    'Saudi Arabia': 'countries/sa/sa-all.js',
    Senegal: 'countries/sn/sn-all.js',
    Seychelles: 'countries/sc/sc-all.js',
    'Sierra Leone': 'countries/sl/sl-all.js',
    Singapore: 'countries/sg/sg-all.js',
    Slovakia: 'countries/sk/sk-all.js',
    Slovenia: 'countries/si/si-all.js',
    'Solomon Islands': 'countries/sb/sb-all.js',
    Somalia: 'countries/so/so-all.js',
    Somaliland: 'countries/sx/sx-all.js',
    'South Africa': 'countries/za/za-all.js',
    'South Korea': 'countries/kr/kr-all.js',
    'South Sudan': 'countries/ss/ss-all.js',
    Spain: 'countries/es/es-all.js',
    'Sri Lanka': 'countries/lk/lk-all.js',
    Sudan: 'countries/sd/sd-all.js',
    Suriname: 'countries/sr/sr-all.js',
    Swaziland: 'countries/sz/sz-all.js',
    Sweden: 'countries/se/se-all.js',
    Switzerland: 'countries/ch/ch-all.js',
    Syria: 'countries/sy/sy-all.js',
    Taiwan: 'countries/tw/tw-all.js',
    Tajikistan: 'countries/tj/tj-all.js',
    Thailand: 'countries/th/th-all.js',
    'The Bahamas': 'countries/bs/bs-all.js',
    'The Netherlands': 'countries/nl/nl-all.js',
    'The Netherlands, admin2': 'countries/nl/nl-all-all.js',
    Togo: 'countries/tg/tg-all.js',
    'Trinidad and Tobago': 'countries/tt/tt-all.js',
    Tunisia: 'countries/tn/tn-all.js',
    Turkey: 'countries/tr/tr-all.js',
    Turkmenistan: 'countries/tm/tm-all.js',
    Uganda: 'countries/ug/ug-all.js',
    Ukraine: 'countries/ua/ua-all.js',
    'United Arab Emirates': 'countries/ae/ae-all.js',
    'United Kingdom countries': 'countries/gb/custom/gb-countries.js',
    'United Kingdom': 'countries/gb/gb-all.js',
    'United Republic of Tanzania': 'countries/tz/tz-all.js',
    'United States Virgin Islands': 'countries/vi/vi-all.js',
    'United States of America with Territories':
      'countries/us/custom/us-all-territories.js',
    'United States of America': 'countries/us/us-all.js',
    'United States of America, admin2': 'countries/us/us-all-all.js',
    'United States of America, admin2, highres':
      'countries/us/us-all-all-highres.js',
    'United States of America, congressional districts (113th)':
      'countries/us/custom/us-113-congress.js',
    'United States of America, mainland':
      'countries/us/custom/us-all-mainland.js',
    'United States of America, small': 'countries/us/custom/us-small.js',
    Uruguay: 'countries/uy/uy-all.js',
    Uzbekistan: 'countries/uz/uz-all.js',
    Vanuatu: 'countries/vu/vu-all.js',
    Venezuela: 'countries/ve/ve-all.js',
    Vietnam: 'countries/vn/vn-all.js',
    'Wallis and Futuna': 'countries/wf/wf-all.js',
    'Western Sahara': 'countries/eh/eh-all.js',
    Yemen: 'countries/ye/ye-all.js',
    Zambia: 'countries/zm/zm-all.js',
    Zimbabwe: 'countries/zw/zw-all.js'
  },
  'Canada Provinces Admin 2': {
    'Alberta, admin2': 'countries/ca/ca-ab-all.js',
    'British Columbia, admin2': 'countries/ca/ca-bc-all.js',
    'Manitoba, admin2': 'countries/ca/ca-mb-all.js',
    'New Brunswick, admin2': 'countries/ca/ca-nb-all.js',
    'Newfoundland and Labrador, admin2': 'countries/ca/ca-nf-all.js',
    'Northwest Territories, admin2': 'countries/ca/ca-nt-all.js',
    'Nova Scotia, admin2': 'countries/ca/ca-ns-all.js',
    'Nunavut, admin2': 'countries/ca/ca-nu-all.js',
    'Ontario, admin2': 'countries/ca/ca-on-all.js',
    'Prince Edward Island, admin2': 'countries/ca/ca-pe-all.js',
    'Quebec, admin2': 'countries/ca/ca-qc-all.js',
    'Saskatchewan, admin2': 'countries/ca/ca-sk-all.js',
    'Yukon, admin2': 'countries/ca/ca-yt-all.js'
  },
  'France Regions Admin 2': {
    'Alsace, admin2': 'countries/fr/fr-a-all.js',
    'Aquitaine, admin2': 'countries/fr/fr-b-all.js',
    'Auvergne, admin2': 'countries/fr/fr-c-all.js',
    'Basse-Normandie, admin2': 'countries/fr/fr-p-all.js',
    'Bourgogne, admin2': 'countries/fr/fr-d-all.js',
    'Bretagne, admin2': 'countries/fr/fr-e-all.js',
    'Centre, admin2': 'countries/fr/fr-f-all.js',
    'Champagne-Ardenne, admin2': 'countries/fr/fr-g-all.js',
    'Corse, admin2': 'countries/fr/fr-h-all.js',
    'Franche-Comté, admin2': 'countries/fr/fr-i-all.js',
    'Guadeloupe, admin2': 'countries/fr/fr-gp-all.js',
    'Guyane française, admin2': 'countries/fr/fr-gf-all.js',
    'Haute-Normandie, admin2': 'countries/fr/fr-q-all.js',
    'Languedoc-Roussillon, admin2': 'countries/fr/fr-k-all.js',
    'Limousin, admin2': 'countries/fr/fr-l-all.js',
    'Lorraine, admin2': 'countries/fr/fr-m-all.js',
    'Martinique, admin2': 'countries/fr/fr-mq-all.js',
    'Mayotte, admin2': 'countries/fr/fr-yt-all.js',
    'Midi-Pyrénées, admin2': 'countries/fr/fr-n-all.js',
    'Nord-Pas-de-Calais, admin2': 'countries/fr/fr-o-all.js',
    'Pays de la Loire, admin2': 'countries/fr/fr-r-all.js',
    'Picardie, admin2': 'countries/fr/fr-s-all.js',
    'Poitou-Charentes, admin2': 'countries/fr/fr-t-all.js',
    "Provence-Alpes-Côte-d'Azur, admin2": 'countries/fr/fr-u-all.js',
    'Rhône-Alpes, admin2': 'countries/fr/fr-v-all.js',
    'Réunion, admin2': 'countries/fr/fr-re-all.js',
    'Île-de-France, admin2': 'countries/fr/fr-j-all.js'
  },
  'Germany Bundesländer Admin 2': {
    'Baden-Württemberg, admin2': 'countries/de/de-bw-all.js',
    'Bayern, admin2': 'countries/de/de-by-all.js',
    'Berlin, admin2': 'countries/de/de-be-all.js',
    'Brandenburg, admin2': 'countries/de/de-bb-all.js',
    'Bremen, admin2': 'countries/de/de-hb-all.js',
    'Hamburg, admin2': 'countries/de/de-hh-all.js',
    'Hessen, admin2': 'countries/de/de-he-all.js',
    'Mecklenburg-Vorpommern, admin2': 'countries/de/de-mv-all.js',
    'Niedersachsen, admin2': 'countries/de/de-ni-all.js',
    'Nordrhein-Westfalen, admin2': 'countries/de/de-nw-all.js',
    'Rheinland-Pfalz, admin2': 'countries/de/de-rp-all.js',
    'Saarland, admin2': 'countries/de/de-sl-all.js',
    'Sachsen, admin2': 'countries/de/de-sn-all.js',
    'Sachsen-Anhalt, admin2': 'countries/de/de-st-all.js',
    'Schleswig-Holstein, admin2': 'countries/de/de-sh-all.js',
    'Thüringen, admin2': 'countries/de/de-th-all.js'
  },
  'Germany Bundesländer Admin 3': {
    'Baden-Württemberg, admin3': 'countries/de/de-bw-all-all.js',
    'Bayern, admin3': 'countries/de/de-by-all-all.js',
    'Berlin, admin3': 'countries/de/de-be-all-all.js',
    'Brandenburg, admin3': 'countries/de/de-bb-all-all.js',
    'Bremen, admin3': 'countries/de/de-hb-all-all.js',
    'Hamburg, admin3': 'countries/de/de-hh-all-all.js',
    'Hessen, admin3': 'countries/de/de-he-all-all.js',
    'Mecklenburg-Vorpommern, admin3': 'countries/de/de-mv-all-all.js',
    'Niedersachsen, admin3': 'countries/de/de-ni-all-all.js',
    'Nordrhein-Westfalen, admin3': 'countries/de/de-nw-all-all.js',
    'Rheinland-Pfalz, admin3': 'countries/de/de-rp-all-all.js',
    'Saarland, admin3': 'countries/de/de-sl-all-all.js',
    'Sachsen, admin3': 'countries/de/de-sn-all-all.js',
    'Sachsen-Anhalt, admin3': 'countries/de/de-st-all-all.js',
    'Schleswig-Holstein, admin3': 'countries/de/de-sh-all-all.js',
    'Thüringen, admin3': 'countries/de/de-th-all-all.js'
  },
  'Netherlands Provinces': {
    'Drenthe, admin2': 'countries/nl/nl-dr-all.js',
    'Flevoland, admin2': 'countries/nl/nl-fl-all.js',
    'Friesland, admin2': 'countries/nl/nl-fr-all.js',
    'Gelderland, admin2': 'countries/nl/nl-ge-all.js',
    'Groningen, admin2': 'countries/nl/nl-gr-all.js',
    'Limburg, admin2': 'countries/nl/nl-li-all.js',
    'Noord-Brabant, admin2': 'countries/nl/nl-nb-all.js',
    'Noord-Holland, admin2': 'countries/nl/nl-nh-all.js',
    'Overijssel, admin2': 'countries/nl/nl-ov-all.js',
    'Utrecht, admin2': 'countries/nl/nl-ut-all.js',
    'Zeeland, admin2': 'countries/nl/nl-ze-all.js',
    'Zuid-Holland, admin2': 'countries/nl/nl-zh-all.js'
  },
  'Norway Counties': {
    'Akershus, admin2': 'countries/no/no-ak-all.js',
    'Aust-Agder, admin2': 'countries/no/no-aa-all.js',
    'Buskerud, admin2': 'countries/no/no-bu-all.js',
    'Finnmark, admin2': 'countries/no/no-fi-all.js',
    'Hedmark, admin2': 'countries/no/no-he-all.js',
    'Hordaland, admin2': 'countries/no/no-ho-all.js',
    'Møre og Romsdal, admin2': 'countries/no/no-mr-all.js',
    'Nord-Trøndelag, admin2': 'countries/no/no-nt-all.js',
    'Nordland, admin2': 'countries/no/no-no-all.js',
    'Oppland, admin2': 'countries/no/no-op-all.js',
    'Oslo, admin2': 'countries/no/no-os-all.js',
    'Rogaland, admin2': 'countries/no/no-ro-all.js',
    'Sogn og Fjordane, admin2': 'countries/no/no-sf-all.js',
    'Sør-Trøndelag, admin2': 'countries/no/no-st-all.js',
    'Telemark, admin2': 'countries/no/no-te-all.js',
    'Troms, admin2': 'countries/no/no-tr-all.js',
    'Vest-Agder, admin2': 'countries/no/no-va-all.js',
    'Vestfold, admin2': 'countries/no/no-vf-all.js',
    'Østfold, admin2': 'countries/no/no-of-all.js'
  },
  'USA States': {
    'Alabama, admin2': 'countries/us/us-al-all.js',
    'Alaska, admin2': 'countries/us/us-ak-all.js',
    'Arizona, admin2': 'countries/us/us-az-all.js',
    'Arkansas, admin2': 'countries/us/us-ar-all.js',
    'California, admin2': 'countries/us/us-ca-all.js',
    'Colorado, admin2': 'countries/us/us-co-all.js',
    'Connecticut, admin2': 'countries/us/us-ct-all.js',
    'Delaware, admin2': 'countries/us/us-de-all.js',
    'District of Columbia, admin2': 'countries/us/us-dc-all.js',
    'Florida, admin2': 'countries/us/us-fl-all.js',
    'Georgia, admin2': 'countries/us/us-ga-all.js',
    'Hawaii, admin2': 'countries/us/us-hi-all.js',
    'Idaho, admin2': 'countries/us/us-id-all.js',
    'Illinois, admin2': 'countries/us/us-il-all.js',
    'Indiana, admin2': 'countries/us/us-in-all.js',
    'Iowa, admin2': 'countries/us/us-ia-all.js',
    'Kansas, admin2': 'countries/us/us-ks-all.js',
    'Kentucky, admin2': 'countries/us/us-ky-all.js',
    'Louisiana, admin2': 'countries/us/us-la-all.js',
    'Maine, admin2': 'countries/us/us-me-all.js',
    'Maryland, admin2': 'countries/us/us-md-all.js',
    'Massachusetts, admin2': 'countries/us/us-ma-all.js',
    'Michigan, admin2': 'countries/us/us-mi-all.js',
    'Minnesota, admin2': 'countries/us/us-mn-all.js',
    'Mississippi, admin2': 'countries/us/us-ms-all.js',
    'Missouri, admin2': 'countries/us/us-mo-all.js',
    'Montana, admin2': 'countries/us/us-mt-all.js',
    'Nebraska, admin2': 'countries/us/us-ne-all.js',
    'Nevada, admin2': 'countries/us/us-nv-all.js',
    'New Hampshire, admin2': 'countries/us/us-nh-all.js',
    'New Jersey, admin2': 'countries/us/us-nj-all.js',
    'New Mexico, admin2': 'countries/us/us-nm-all.js',
    'New York, admin2': 'countries/us/us-ny-all.js',
    'North Carolina, admin2': 'countries/us/us-nc-all.js',
    'North Dakota, admin2': 'countries/us/us-nd-all.js',
    'Ohio, admin2': 'countries/us/us-oh-all.js',
    'Oklahoma, admin2': 'countries/us/us-ok-all.js',
    'Oregon, admin2': 'countries/us/us-or-all.js',
    'Pennsylvania, admin2': 'countries/us/us-pa-all.js',
    'Rhode Island, admin2': 'countries/us/us-ri-all.js',
    'South Carolina, admin2': 'countries/us/us-sc-all.js',
    'South Dakota, admin2': 'countries/us/us-sd-all.js',
    'Tennessee, admin2': 'countries/us/us-tn-all.js',
    'Texas, admin2': 'countries/us/us-tx-all.js',
    'Utah, admin2': 'countries/us/us-ut-all.js',
    'Vermont, admin2': 'countries/us/us-vt-all.js',
    'Virginia, admin2': 'countries/us/us-va-all.js',
    'Washington, admin2': 'countries/us/us-wa-all.js',
    'West Virginia, admin2': 'countries/us/us-wv-all.js',
    'Wisconsin, admin2': 'countries/us/us-wi-all.js',
    'Wyoming, admin2': 'countries/us/us-wy-all.js'
  },
  'USA congressional districts (113th)': {
    'Alabama congressional districts':
      'countries/us/custom/us-al-congress-113.js',
    'Alaska congressional districts':
      'countries/us/custom/us-ak-congress-113.js',
    'American Samoa congressional districts':
      'countries/us/custom/us-as-congress-113.js',
    'Arizona congressional districts':
      'countries/us/custom/us-az-congress-113.js',
    'Arkansas congressional districts':
      'countries/us/custom/us-ar-congress-113.js',
    'California congressional districts':
      'countries/us/custom/us-ca-congress-113.js',
    'Colorado congressional districts':
      'countries/us/custom/us-co-congress-113.js',
    'Connecticut congressional districts':
      'countries/us/custom/us-ct-congress-113.js',
    'Delaware congressional districts':
      'countries/us/custom/us-de-congress-113.js',
    'District of Columbia congressional districts':
      'countries/us/custom/us-dc-congress-113.js',
    'Florida congressional districts':
      'countries/us/custom/us-fl-congress-113.js',
    'Georgia congressional districts':
      'countries/us/custom/us-ga-congress-113.js',
    'Guam congressional districts': 'countries/us/custom/us-gu-congress-113.js',
    'Hawaii congressional districts':
      'countries/us/custom/us-hi-congress-113.js',
    'Idaho congressional districts':
      'countries/us/custom/us-id-congress-113.js',
    'Illinois congressional districts':
      'countries/us/custom/us-il-congress-113.js',
    'Indiana congressional districts':
      'countries/us/custom/us-in-congress-113.js',
    'Iowa congressional districts': 'countries/us/custom/us-ia-congress-113.js',
    'Kansas congressional districts':
      'countries/us/custom/us-ks-congress-113.js',
    'Kentucky congressional districts':
      'countries/us/custom/us-ky-congress-113.js',
    'Louisiana congressional districts':
      'countries/us/custom/us-la-congress-113.js',
    'Maine congressional districts':
      'countries/us/custom/us-me-congress-113.js',
    'Maryland congressional districts':
      'countries/us/custom/us-md-congress-113.js',
    'Massachusetts congressional districts':
      'countries/us/custom/us-ma-congress-113.js',
    'Michigan congressional districts':
      'countries/us/custom/us-mi-congress-113.js',
    'Minnesota congressional districts':
      'countries/us/custom/us-mn-congress-113.js',
    'Mississippi congressional districts':
      'countries/us/custom/us-ms-congress-113.js',
    'Missouri congressional districts':
      'countries/us/custom/us-mo-congress-113.js',
    'Montana congressional districts':
      'countries/us/custom/us-mt-congress-113.js',
    'Nebraska congressional districts':
      'countries/us/custom/us-ne-congress-113.js',
    'Nevada congressional districts':
      'countries/us/custom/us-nv-congress-113.js',
    'New Hampshire congressional districts':
      'countries/us/custom/us-nh-congress-113.js',
    'New Jersey congressional districts':
      'countries/us/custom/us-nj-congress-113.js',
    'New Mexico congressional districts':
      'countries/us/custom/us-nm-congress-113.js',
    'New York congressional districts':
      'countries/us/custom/us-ny-congress-113.js',
    'North Carolina congressional districts':
      'countries/us/custom/us-nc-congress-113.js',
    'North Dakota congressional districts':
      'countries/us/custom/us-nd-congress-113.js',
    'Northern Mariana Islands congressional districts':
      'countries/us/custom/us-mp-congress-113.js',
    'Ohio congressional districts': 'countries/us/custom/us-oh-congress-113.js',
    'Oklahoma congressional districts':
      'countries/us/custom/us-ok-congress-113.js',
    'Oregon congressional districts':
      'countries/us/custom/us-or-congress-113.js',
    'Pennsylvania congressional districts':
      'countries/us/custom/us-pa-congress-113.js',
    'Puerto Rico congressional districts':
      'countries/us/custom/us-pr-congress-113.js',
    'Rhode Island congressional districts':
      'countries/us/custom/us-ri-congress-113.js',
    'South Carolina congressional districts':
      'countries/us/custom/us-sc-congress-113.js',
    'South Dakota congressional districts':
      'countries/us/custom/us-sd-congress-113.js',
    'Tennessee congressional districts':
      'countries/us/custom/us-tn-congress-113.js',
    'Texas congressional districts':
      'countries/us/custom/us-tx-congress-113.js',
    'Utah congressional districts': 'countries/us/custom/us-ut-congress-113.js',
    'Vermont congressional districts':
      'countries/us/custom/us-vt-congress-113.js',
    'Virginia congressional districts':
      'countries/us/custom/us-va-congress-113.js',
    'Washington congressional districts':
      'countries/us/custom/us-wa-congress-113.js',
    'West Virginia congressional districts':
      'countries/us/custom/us-wv-congress-113.js',
    'Wisconsin congressional districts':
      'countries/us/custom/us-wi-congress-113.js',
    'Wyoming congressional districts':
      'countries/us/custom/us-wy-congress-113.js'
  }
};

highed.plugins.step.install({
  // Internal ID
  name: 'map-collection',
  // The title of the step
  title: 'Map Collection',
  // Only show it if we're using the Map constructor
  validConstructors: ['Map'],

  create: function(chart, target) {
    var splitter = highed.HSplitter(target),
      list = highed.List(splitter.left),
      body = splitter.right;

    list.addItems(
      Object.keys(highed.mapCollection).map(function(key) {
        return {
          id: key,
          title: key
        };
      })
    );

    list.on('Select', function(id) {
      body.innerHTML = '';

      Object.keys(highed.mapCollection[id]).forEach(function(key) {
        var entry = highed.dom.cr('div', 'highed-background-normal'),
          title = highed.dom.cr('span', '', key),
          use = highed.dom.cr('div', 'highed-ok-button', 'USE');

        highed.dom.style(title, {
          'font-size': '10px'
        });

        highed.dom.style(entry, {
          padding: '5px',
          marginBottom: '12px'
        });

        highed.dom.style(use, {
          width: '80px'
          //float: 'right'
          //position: 'absolute',
          //right: '10px'
        });

        highed.dom.on(use, 'click', function() {});

        highed.dom.ap(body, highed.dom.ap(entry, title, use));
      });
    });

    return {
      resize: function() {}
    };
  }
});
